using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Text.RegularExpressions;

namespace HistoriaLaboral.Helper
{
    class Validaciones
    {
        static public bool ValidarBlancos(Control pControl, ErrorProvider pErr)
        {
            bool result = true;

            if (((Control)pControl).Text.Trim(' ') == "")
            {
                pErr.SetError(((Control)pControl), "Este campo no puede quedar en blanco.");
                result = false;
            }
            else if (((Control)pControl).Text.Trim(' ') != "")
            {
                pErr.SetError(((Control)pControl), "");
                result = true;
            }
            return result;
        }

        static public bool ValidarSoloNumeros(TextBox txt, ErrorProvider ep)
        {
            try 
            {
                int edad = System.Int32.Parse(txt.Text);
                ep.SetError(txt, "");
                return true;
            }
            catch 
            {
                ep.SetError(txt, "No puede Ingresar letras en este campo");
                return false;
            }

        }

        static public bool ValidarFecha(MaskedTextBox pMaskedTxt, ErrorProvider ep)
        {
            if (pMaskedTxt.Text != "  /  /")
            {
                try
                {

                    DateTime fecha = System.DateTime.Parse(pMaskedTxt.Text);
                    if (fecha.Year > 1900)
                    {
                        ep.SetError(pMaskedTxt, "");
                        return true;
                    }
                    else
                    {
                        ep.SetError(pMaskedTxt, "Ingrese una fecha con el formato dd/mm/aaaa");
                        return false;
                    }
                }
                catch
                {
                    ep.SetError(pMaskedTxt, "Ingrese una fecha con el formato dd/mm/aaaa");
                    return false;
                }
            }
            else {
                ep.SetError(pMaskedTxt, "");
                return true;
            }
         }

        static public bool ValidarFechaInicioFin(MaskedTextBox pFechaIni, MaskedTextBox pFechaFin, ErrorProvider ep)
        {
            try
            {
                if (System.DateTime.Parse(pFechaIni.Text)>System.DateTime.Parse(pFechaFin.Text))
                {
                    ep.SetError(pFechaIni, "La fecha de inicio no puede ser mayor a la fecha de fin.");
                    return false;
                }
                else
                {
                    ep.SetError(pFechaIni, "");                    
                    return true;
                }
            }
            catch
            {
                ep.SetError(pFechaIni, "");
                return true;
            }
        
        }

        static public bool ValidarDocumento(MaskedTextBox pMaskedTxt, ErrorProvider ep)
        {
            if (pMaskedTxt.MaskFull)
            {
                ep.SetError(pMaskedTxt, "");
                return true;
            }
            else
            {
                ep.SetError(pMaskedTxt, "Debe completarse con 8 digitos");
                return false;
            }
        }

    }
}